﻿using Sidvall.Collections;

namespace Sidvall.WorkItemManager.Net.Services.V1.Model
{
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")]
    public partial class EntityCache
    {
        #region Public Members

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkConditionCollectionItem WorkConditionCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkerCollectionItem WorkerCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkItemCollectionItem WorkItemCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkItemLogCollectionItem WorkItemLogCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkItemSensorCollectionItem WorkItemSensorCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkItemSensorLogCollectionItem WorkItemSensorLogCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkItemTypeCollectionItem WorkItemTypeCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkItemWorkConditionCollectionItem WorkItemWorkConditionCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkRetryPolicyCollectionItem WorkRetryPolicyCache { get; set; }
        
        #region Clear

        public void Clear()
        {
            this.WorkConditionCache = null;
            this.WorkerCache = null;
            this.WorkItemCache = null;
            this.WorkItemLogCache = null;
            this.WorkItemSensorCache = null;
            this.WorkItemSensorLogCache = null;
            this.WorkItemTypeCache = null;
            this.WorkItemWorkConditionCache = null;
            this.WorkRetryPolicyCache = null;
        }

        #endregion
        
        #endregion
        #region Constructors

        public EntityCache()
        {
        }

        #endregion
    }
}